package com.munhrasoft.dinamica.business.logic;

import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import com.munhrasoft.dinamica.business.entities.UserEntity;

/**
 * EJB para a entidade que representa os usuarios do sistema (UserEntity)
 * 
 * @author munhra
 * 
 */

@Stateless
public class UsuarioEJB {

    @PersistenceContext(unitName = "dinamicaPU")
    private EntityManager em;

    @SuppressWarnings("unchecked")
    public List<UserEntity> fetchAllUsuarios() {
        Query query = em.createNamedQuery("findAllAuthUsr");
        return query.getResultList();
    }

    public UserEntity createUsuario(UserEntity usuario) {
        em.persist(usuario);
        return usuario;
    }

    public UserEntity updateUsuario(UserEntity usuario) {
        return em.merge(usuario);
    }

    public void removeUsuario(UserEntity usuario) {
        em.remove(em.merge(usuario));
    }

}
